%%
%% This is file `isorot.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% isorot.dtx  (with options: `rot')
%% 
%%     This program has been partly developed under US government
%%  funding and is not subject to copyright.
%% 
%%     This program is provided under the terms of the
%%  LaTeX Project Public License distributed from CTAN
%%  archives in directory macros/latex/base/lppl.txt.
%% 
%%  Author: Peter Wilson (CUA)
%%          now at: peter.r.wilson@boeing.com
%% 
\ProvidesPackage{isorot}[2000/02/15 v2.1 ISO rotation package]
\newcount\PWRFc@tracing
\DeclareOption{errorshow}{\PWRFc@tracing\z@}
\DeclareOption{debugshow}{\PWRFc@tracing5\relax}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphics}}
\ProcessOptions
\newcommand\PWRF@trace[2]{%
  \ifnum\PWRFc@tracing>#1\relax
    \GenericWarning
      {(isorot)\@spaces\@spaces}
      {Package isorot: #2}%
  \fi
}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{graphicx}
\RequirePackage{lscape}
\def\rotdriver#1{%
  \message{The .dvi file is to be processed by the #1 driver.}
  \typeout{Change rotdriver in the source accordingly if you do not have this.}
  \makeatletter\input{#1.def}\makeatother}
\newif\if@rot@twoside
\def\Grot@setnegangle#1{%
  \dimen@#1\p@
  \dimen@-\dimen@
  \edef\Grot@angle{\strip@pt\dimen@}}
\newif\ifcl@ckwise
\newcommand{\figuresleft}{%
  \@rot@twosidefalse
  \def\rot@LR{0}%
}
\newcommand{\figuresright}{%
  \@rot@twosidefalse
  \def\rot@LR{-1}%
}
\newcommand{\clockwise}{%
  \cl@ckwisetrue
}
\newcommand{\counterclockwise}{%
  \cl@ckwisefalse
}
\long\def\r@protected@write#1#2#3{%
  \begingroup
    \let\therpage\relax
    #2%
    \let\protect\@unexpandable@protect
    \edef\reserved@a{\write#1{#3}}%
    \reserved@a
  \endgroup
  \if@nobreak\ifvmode\nobreak\fi\fi
}
\def\therpage{\arabic{page}}
\def\rot@label#1{\@bsphack
  \r@protected@write\@auxout{}%
    {\string\newlabel{#1}{{\@currentlabel}{\therpage}}}%
  \@esphack}
\newcounter{r@tfl@t}
\setcounter{r@tfl@t}{0}
\if@twoside
  \@rot@twosidetrue
\else
  \@rot@twosidefalse
\fi
\newcommand{\rotatedirection}[1]{%
  \def\@tempa{#1}\def\@tempb{clockwise}%
  \ifx\@temp\@tempb
    \cl@ckwisetrue
  \else
    \cl@ckwisefalse
  \fi}
\clockwise
\figuresright
\def\sideways{%
  \Grot@setangle{90}%
  \setbox\z@\hbox\bgroup\ignorespaces}
\def\endsideways{%
  \unskip\egroup
  \Grot@x\z@
  \Grot@y\z@
  \Grot@box
}
\def\turn#1{%
  \ifcl@ckwise
    \Grot@setnegangle{#1}
  \else
    \Grot@setangle{#1}
  \fi
  \setbox\z@\hbox\bgroup\ignorespaces}
\def\endturn{%
  \unskip\egroup
  \Grot@x\z@
  \Grot@y\z@
  \Grot@box
}
\def\rotate#1{%
  \ifcl@ckwise
    \Grot@setnegangle{#1}
  \else
    \Grot@setangle{#1}
  \fi
  \setbox\z@\hbox\bgroup\ignorespaces}
\def\endrotate{%
  \unskip\egroup
  \Grot@x\z@
  \Grot@y\z@
  \wd0\z@\dp0\z@\ht0\z@
  \Grot@box
}
\def\turnbox#1#2{%
  \ifcl@ckwise
    \Grot@setnegangle{#1}
  \else
    \Grot@setangle{#1}
  \fi
  \setbox\z@\hbox{{#2}}%
  \Grot@x\z@
  \Grot@y\z@
  \wd0\z@\dp0\z@\ht0\z@
  \Grot@box
}
\newsavebox\rot@float@box
\def\@rotfloat#1{%
  \@ifnextchar[%
    {\@xrotfloat{#1}}%
    {\edef\@tempa{\noexpand\@xrotfloat{#1}[\csname fps@#1\endcsname]}\@tempa}%
}
\def\@xrotfloat#1[#2]{%
  \@float{#1}[#2]%
  \begin{lrbox}\rot@float@box
  \begin{minipage}\textheight
}
\def\end@rotfloat{%
  \end{minipage}\end{lrbox}%
  \global\addtocounter{r@tfl@t}{1}%
  \rot@label{RF\ther@tfl@t}%
  \def\R@@page{\pageref{RF\ther@fl@t}}%
  \wd\rot@float@box\z@
  \ht\rot@float@box\z@
  \dp\rot@float@box\z@
  \vbox to \textheight{%
    \if@rot@twoside
      \def\R@@page{\pageref{RF\ther@tfl@t}}%
    \else
      \let\R@@page\rot@LR
    \fi
    \ifodd\R@@page
       \PWRF@trace\tw@{Adding sideways float on right hand page}%
       \vfill
       \centerline{\rotatebox{90}{\box\rot@float@box}}%
    \else
       \PWRF@trace\tw@{Adding sideways float on left hand page}%
       \centerline{\rotatebox{-90}{\box\rot@float@box}}%
       \vfill
    \fi
  }%
  \end@float
}
\def\@rotdblfloat{%
  \if@twocolumn\let\reserved@a\@rotdblflt\else\let\reserved@a\@rotfloat\fi
  \reserved@a}
\def\@rotdblflt#1{\@ifnextchar[{\@rotxdblfloat{#1}}{\@rotxdblfloat{#1}[tp]}}
\def\@rotxdblfloat#1[#2]{%
  \hsize\textwidth\linewidth\textwidth
  \@float{#1}[#2]%
  \begin{lrbox}\rot@float@box
  \begin{minipage}\textheight
}
\def\end@rotdblfloat{%
  \end{minipage}\end{lrbox}%
  \global\addtocounter{r@tfl@t}{1}%
  \rot@label{RF\ther@tfl@t}%
  \def\R@@page{\pageref{RF\ther@tfl@t}}%
  \@tempdima\ht\rot@float@box
  \advance\@tempdima by \dp\rot@float@box
  \PWRF@trace\thr@@{BOX wd: \the\wd\rot@float@box, ht: \the\ht\rot@float@box, dp: \the\dp\rot@float@box: so shift by .5 of \the\@tempdima}%
  \wd\rot@float@box\z@
  \ht\rot@float@box\z@
  \dp\rot@float@box\z@
  \vbox to \textheight{%
    \if@rot@twoside
      \def\R@@page{\pageref{RF\ther@tfl@t}}%
    \else
      \let\R@@page\rot@LR
    \fi
    \ifodd\R@@page
      \PWRF@trace\tw@{Adding sideways float on right hand page}%
      \vfill
      \hbox to \textwidth{\hfill\rotatebox{90}{\box\rot@float@box}\hfill}%
    \else
      \PWRF@trace\tw@{Adding sideways float on left hand page}%
      \hbox to \textwidth{\hfill\rotatebox{-90}{\box\rot@float@box}\hfill}%
      \vfill
    \fi
  }
  \end@dblfloat
}
\@ifundefined{@initisofig}{%
  \newcommand{\@initisofig}{}
  \newcommand{\@initisotab}{}
  \newif\ifinfloat
  \newcommand{\rotcapfont}{}}{\newcommand{\rotcapfont}{\captionsize\bf}}
\def\sidewaysfigure{%
  \@initisofig
  \@rotfloat{figure}}
\def\endsidewaysfigure{\end@rotfloat\infloatfalse}
\def\sidewaystable{%
  \@initisotab
  \@rotfloat{table}}
\def\endsidewaystable{\end@rotfloat\infloatfalse}
\newenvironment{sidewaysfigure*}{%
  \@initisofig
  \@rotdblfloat{figure}}{%
  \end@rotdblfloat\infloatfalse}
\newenvironment{sidewaystable*}{%
  \@initisotab
  \@rotdblfloat{table}}{%
  \end@rotdblfloat\infloatfalse}
\def\rotcaption{\refstepcounter\@captype\@dblarg{\@rotcaption\@captype}}
\long\def\@rotcaption#1[#2]#3{%
  \addcontentsline{\csname ext@#1\endcsname}{#1}{%
     \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
  \par
  \begingroup
    \@parboxrestore
    \normalsize
    \@makerotcaption{\csname fnum@#1\endcsname}{#3}%
  \endgroup}
\long\def\@makerotcaption#1#2{%
  \hspace{\abovecaptionskip}
  \setbox\@tempboxa\hbox{{\rotcapfont #1 -- #2}}%
  \ifdim \wd\@tempboxa > .8\vsize
      \rotatebox{90}{%
      \begin{minipage}{.8\textheight}{\centering{\rotcapfont #1 -- #2}\par}\end{minipage}%
      }\par
  \else%
    \rotatebox{90}{\box\@tempboxa}%
  \fi
  \hspace{\belowcaptionskip}
}
\newcommand{\controtcaption}{\@controtcaption\@captype}
\long\def\@controtcaption#1#2{%
  \begingroup
    \@parboxrestore
    \normalsize
    \@makerotcaption{\csname fnum@#1\endcsname}{\ignorespaces #2}\par
  \endgroup}
\endinput
%%
%% End of file `isorot.sty'.

